OpenCV on TI’s DSP+ARM®

نویسندگان

  • Joseph Coombs
  • Rahul Prabhu
چکیده

In today’s advancing market, the growing performance and decreasing price of embedded processors are opening many doors for developers to design highly sophisticated solutions for different end applications. The complexities of these systems can create bottlenecks for developers in the form of longer development times, more complicated development environments and issues with application stability and quality. Developers can address these problems using sophisticated software packages such as OpenCV, but migrating this software to embedded platforms poses its own set of challenges. This paper will review how to mitigate some of these issues, including C++ implementation, memory constraints, floating-point support and opportunities to maximize performance using vendor-optimized libraries and integrated accelerators or co-processors. Finally, we will introduce a new effort by Texas Instruments (TI) to optimize vision systems by running OpenCV on the C6000TM digital signal processor (DSP) architecture. Benchmarks will show the advantage of using the DSP by comparing the performance of a DSP+ARM® system-on-chip (SoC) processor against an ARM-only device. OpenCV on TI’s DSP+ARM platforms: Mitigating the challenges of porting OpenCV to embedded platforms Introduction OpenCV is a free and open-source computer vision library that offers a broad range of functionality under the permissive Berkeley Software Distribution (BSD) license. The library itself is written in C++ and is also usable through C or Python language applications. Thousands of developers use OpenCV to power their own specialized applications, making it the most widely-used library of its kind. The OpenCV project is under active development, with regular updates to eliminate bugs and add new functionality. The mainline development effort targets the x86 architecture and supports acceleration via Intel’s proprietary Integrated Performance Primitives (IPP) library. A recent release also added support for graphics processing unit (GPU) acceleration using NVIDIA’s Compute Unifi ed Device Architecture (CUDA) standard. OpenCV’s greatest asset is the sheer breadth of algorithms included in its standard distribution. Figure 1 on page 2 shows an incomplete list of some of the key function categories included in OpenCV. These range from low-level image fi ltering and transformation to sophisticated feature analysis and machine learning functionality. A complete listing of every function and use case is beyond the scope of this article, but we will consider the unique requirements of developers in the embedded vision space. For these developers, OpenCV represents an attractively comprehensive toolbox of useful, well-tested algorithms that can serve as building blocks for their own specialized applications. The question then becomes whether or not OpenCV can be used directly in their embedded systems. Despite its original development focus for use with PC workstations, OpenCV can also be a useful tool for embedded development. There are vendor-specifi c libraries that offer OpenCV-like capabilities on various embedded systems, but few can match OpenCV’s ubiquity in the computer vision fi eld or the sheer breadth of its included algorithms. It should come as no surprise that OpenCV has already been ported to the ARM® architecture, a popular CPU choice for embedded processors. It’s certainly possible to cross-compile the OpenCV source code as-is and use the result with embedded devices, but memory constraints and other architectural considerations may pose a problem. This white paper will examine some of the specifi c obstacles that must be overcome for OpenCV to achieve acceptable performance on Joseph Coombs, Applications engineering, Texas Instruments Rahul Prabhu, Applications engineering, Texas Instruments W H I T E P A P E R

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Parallelizing and Optimizing a Simulator Kernel on a TMS320C40 Multi-DSP Architecture

This application report describes the parallelization and optimization of a hydraulic simulator kernel on a Texas Instruments (TITM) TMS320C40 multi-DSP (digital signal processor) platform. Research is based on A. Riel's diploma thesis. This report includes references to works directly connected with this thesis. Three different parallel versions of the initially sequential simulator are implem...

متن کامل

TCI6630K2L SoC Product Bulletin

Based on TI’s high-throughput KeyStone II architecture, the new TCI6630K2L system-onchip (SoC) is a scalable low-power baseband solution with an integrated digital radio front end (DRFE) that meets the more stringent power, size and bill of materials (BOM) cost requirements of small cell wireless base stations. In enterprise and pico base stations, the device’s dual ARM/quad DSP cores deliver t...

متن کامل

Application of Image Processing on DSP TMS320C6713

Face detection is a very challenging and interesting problem. In this paper, we discussed an application for automatic face detection and tracking on video streams from surveillance cameras in public or commercial places. In many situations it is useful to detect where the people are looking for, e.g. in exhibits, commercial malls, and public places in buildings. So prototype is designed to wor...

متن کامل

Implementing a Real Time System for Lung Sound Spectrographs Using the TMS320C30 DSP

This application report describes how to develop a real-time system for producing lung sound spectrographs and other analyses using the Texas Instruments (TITM) TMS320C30 (C30) digital signal processor (DSP). The C30 floating point processor, hosted by a PC with a 486 DX2 processor (or better) is written entirely in the C language. With this real time system, analog input can be captured direct...

متن کامل

Using TMS320 Family DSPs in Motion Control Systems

This application report discusses the most important issues concerning the use of TMS320 DSP-based systems in motion control. Motion control systems using fixed and floating-point processors are compared. Typical applications and experimental results are presented for schemes employing all common types of electric motors DC, induction, brushless, and step. This document was part of the first Eu...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011